home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / opalvisn / dropshdw.lha / AskBevell.oprx next >
Text File  |  1993-04-29  |  2KB  |  93 lines

  1. /* Draw a bevelled drop box using OpalPaint.
  2.  */
  3.  
  4.  
  5. address 'OpalPaint_Rexx'
  6.  
  7. options Results
  8.  
  9. SaveSetUp
  10. GetRect
  11. parse var Result X1  Y1  X2  Y2
  12.  
  13. Width = X2-X1
  14. Height = Y2-Y1
  15.  
  16. If Width < Height then MaxDepth = (Width/2)%1
  17. If Height < Width then MaxDepth = (Height/2)%1
  18.  
  19. /* AskInt 0 MaxDepth 10 "Enter bevel depth in pixels (RETURN = 10)" */
  20. AskProp 0 MaxDepth 10 "Select bevel depth (in pixels)."
  21. Depth = Result           /* Set depth of bevel */
  22.  
  23. GetPen
  24. RGBtoHSV Result
  25. Parse var Result Hue Sat Val
  26.  
  27.     /* Box body. Set up a diagonal HSV gradient */
  28.  
  29. FillMode Gradient
  30. ClearColGrad
  31. ClearTransGrad
  32. ColourDither 0
  33. TransDither 0
  34.  
  35. HSVtoRGB Hue Sat Val
  36. ColGradTag 0 Result
  37. S2 = (Sat-(0.4*65535))%1 /* Note: %1 converts number to an integer */
  38. S2 = MAX(S2,0)    
  39. HSVtoRGB Hue S2 Val
  40. ColGradTag 0.5 Result
  41. HSVtoRGB Hue Sat Val
  42. ColGradTag 1 Result
  43. GradType LinearFree HSV
  44. GradRange X1+Depth Y1+Depth X2-Depth Y2-Depth
  45. SolidRect X1+Depth Y1+Depth X2-Depth Y2-Depth
  46.  
  47. FillMode Solid
  48.     /* Top */
  49.  
  50. V2 = (Val+0.1*65535)%1
  51. V2 = MIN(V2,65535)
  52.  
  53. HSVtoRGB Hue Sat V2
  54. SetPen Result
  55.  
  56. SolidPoly X1 Y1 X2 Y1 X2-Depth Y1+Depth X1+Depth Y1+Depth X1 Y1
  57. LastPoint
  58.  
  59.  
  60.     /* Right */
  61.  
  62. V2 = (Val-0.15*65535)%1
  63. V2 = MAX(V2,0)
  64.  
  65. HSVtoRGB Hue Sat V2
  66. SetPen Result
  67.  
  68. SolidPoly X2 Y1 X2 Y2 X2-Depth Y2-Depth X2-Depth Y1+Depth X2 Y1
  69. LastPoint
  70.  
  71.     /* Left */
  72.  
  73. V2 = (Val+0.15*65535)%1
  74. V2 = MIN(V2,65535)
  75.  
  76. HSVtoRGB Hue Sat V2
  77. SetPen Result
  78.  
  79. SolidPoly X1 Y1 X1+Depth Y1+Depth X1+Depth Y2-Depth X1 Y2 X1 Y1
  80. LastPoint
  81.  
  82.     /* Bottom */
  83.  
  84. V2 = (Val-0.1*65535)%1
  85. V2 = MAX(V2,0)
  86.  
  87. HSVtoRGB Hue Sat V2
  88. SetPen Result
  89.  
  90. SolidPoly X2 Y2 X1 Y2 X1+Depth Y2-Depth X2-Depth Y2-Depth X2 Y2
  91. LastPoint
  92. RestoreSetUp
  93.